#ifndef AUDIO_DECODER_H
#define AUDIO_DECODER_H

#include "Media/Decoder/BaseDecoder.h"
#include <vector>
#include <cstdint>
#include "Data/FileContextWrapper.h"
#include <QQueue>
class AudioDecoder : public BaseDecoder {
public:
    AudioDecoder();

    ~AudioDecoder() override;

    // 初始化音频解码器。
    bool init(const AVCodecContextPtr& codec_ctx) override;

    // 解码音频数据。
    bool decode(AVPacket* packet) override;

    // 释放音频解码器资源。
    void release() override;

private:
    // 音频解码相关的成员变量。
    const AVCodecContext* codec_ctx_;
    std::once_flag printf_audioinfo_flag_;


};

#endif // AUDIO_DECODER_H
